package com.epalmpay.service.dataanalyze;

import com.epalmpay.dto.analyze.CardAnalyzeInDTO;
import com.epalmpay.dto.analyze.CardAnalyzeOutDTO;
import com.epalmpay.dto.analyze.CardDataOutDTO;

import java.util.List;

public interface ICardDataAnalyzeService {

    CardAnalyzeOutDTO queryCardTongji(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;
    CardDataOutDTO cardAnalyzeTu(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;


    //上上周的数据
    CardAnalyzeOutDTO preBeforeSevenDaysCardData(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //统计某月每天时间段(小时)的数据
    CardDataOutDTO queryMonthHours(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //统计某月每天时间段(小时)的数据
    CardDataOutDTO queryMonthHours2(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //核销优惠券人群基础属性 统计男女比例
    CardAnalyzeOutDTO menWomenProportion(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //统计每个年龄段的人数 占的比例
    CardDataOutDTO queryAgeGroupBy(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //核销优惠券 会员总人数
    CardAnalyzeOutDTO queryMembersTotal(CardAnalyzeInDTO cardAnalyzeInDTO)throws Exception;

    CardDataOutDTO queryCoupon(CardAnalyzeInDTO cardAnalyzeInDTO)throws Exception;

    //统计每个金钱段 占的比例
    CardDataOutDTO queryMoneyGroupBy(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    //优惠卷发放 人群性别分布
    CardAnalyzeOutDTO querymenIssueWomen(CardAnalyzeInDTO cardAnalyzeInDTO)throws Exception;
    CardDataOutDTO queryIssueAgeGroupBy(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;
    CardAnalyzeOutDTO queryIssueMembersTotal(CardAnalyzeInDTO cardAnalyzeInDTO)throws Exception;

    //统计每个金钱段 占的比例
    CardDataOutDTO queryIssueMoneyGroupBy(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    CardDataOutDTO queryindustryCouponStatistical(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;
    CardDataOutDTO queryCouponIssue(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    CardDataOutDTO queryCouponKxMoneyGroupBy(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;

    CardDataOutDTO queryTradeOffineExport(CardAnalyzeInDTO cardAnalyzeInDTO) throws Exception;


}
